/**
 * Test2.java
 *
 * 【功 能】：测试内部类
 * 【类 名】：Test2
 *
 * 【变更履历】：
 *    日期            	版本                作者                   变更内容 
 * -------------------------------------------               
 *  2011-3-23   v1.0     马智城            新规做成   
 *
 * 【版 权】：
 *  Copyright (c) 2011 Explor Software corporation All Rights Reserved.
 *  
 */
package com.java.al.innerClass;

/**
 *
 * 【描 述】：这里描述此类的作用
 * 【环 境】：J2SE 1.6
 * 【详 细】：
 *
 *  @author         Administrator
 *  @version        v1.0 2011-3-23 新建
 *  @since          2011-3-23 
 * 
 */
public class Test2 {
    private int num ;
	public Test2(){
		
	}
	
	public Test2(int num){
		this.num = num;
	}
	
	/**
	 *
	 * 【描 述】：内部类
	 * 【环 境】：J2SE 1.6
	 * 【详 细】：
	 *
	 *  @author         马智城
	 *  @version        v1.0 2011-3-23 新建
	 *  @since          2011-3-23 
	 * 
	 */
	private class Inner{
		/**
		 * 【描 述】：引用现有 Test2 类
		 * 包括 内部的 私有变量和方法
		 *
		 * @since  2011-3-23 v1.0
		 */
		public Test2 getTest2(){
			return Test2.this;
		}
		
		/**
		 * 【描 述】：新生成 Test2 类
		 *
		 * @since  2011-3-23 v1.0
		 */
		public Test2 newTest2(){
			return new Test2();
		}
	}
	
	public static void main(String [] args){
		Test2 test = new Test2(5);
		Test2.Inner inner = test.new Inner();
		Test2 test2 = inner.getTest2();
		Test2 test3 = inner.newTest2();
		System.out.println(test2.num);
		System.out.println(test3.num);
	}
  
}
